package fiuba.service.impl;

import java.util.ArrayList;
import java.util.List;

import fiuba.dao.GenericDao;
import fiuba.dao.BannerDao;
import fiuba.model.Banner;
import fiuba.model.BannerItem;
import fiuba.model.Encuesta;
import fiuba.model.OpcionEncuesta;
import fiuba.service.BannerManager;

public class BannerManagerImpl extends GenericManagerImpl<Banner, Long> implements BannerManager{
	private BannerDao bannerDao;
	private GenericDao<BannerItem, Long> bannerItemDao;


	public BannerManagerImpl(BannerDao bannerDao,
			GenericDao<BannerItem, Long> bannerItemDao
			) {
		super(bannerDao);
		this.bannerDao = bannerDao;
		this.bannerItemDao = bannerItemDao;
	}
	
	
    // Borra todas los items del banner
	public Banner quitarItems(Banner b){
		List<Long> aBorrar = new ArrayList<Long>();
		// Obtengo cuales se van a eliminar
		for (BannerItem bi : b.getItems()) {
			aBorrar.add(bi.getId());
		}
		// Elimino los que antes clasifique como "a borrar"
		List<BannerItem> listaParalela = new ArrayList<BannerItem>();
		for (BannerItem bi : b.getItems()) {
			bannerItemDao.remove(bi.getId());
		}
		b.setItems(listaParalela);
		return b;
	}
	
	public BannerItem saveItem(BannerItem bi) {
		return this.bannerItemDao.save(bi);
	}
	public String generateHtml(Long id) {
		Banner b;
		try{ b = this.bannerDao.get(id); }
		catch (Exception e) {return "";}
		return b.generateHTML();
	}

}
